import axios from 'axios'
import { Toast } from 'vant';
const service = axios.create({
    baseURL:"/api",
    timeout:10*1000,
})
// 添加请求拦截器
service.interceptors.request.use(
    ( config)=>{
        // 发出请求前拦截可以一些事情
        Toast.loading({
            message: '加载中...',
            forbidClick: true,
            duration:0
          });
        return config;
    },(error)=>{
        // 发送请求错误，做些什么
        return Promise.reject(error);
    }
)
service.interceptors.response.use(
    (response)=>{
        // 对响应数据做点什么
        Toast.clear()
        return response;
    },(error)=>{
        // 对响应错误做点什么
        
        // 得到响应错误的状态码
        console.log("error", error.response.status)
        switch (error.response.status) {
            case 302: Toast.fail('接口重定向了！'); break;
            case 400: Toast.fail('参数不正确！'); break;
            case 401: Toast.fail('您未登录，或者登录已经超时，请先登录！'); break;
            case 403: Toast.fail('您没有权限操作！'); break;
            case 404: Toast.fail('请求地址出错'); break; // 在正确域名下
            case 408: Toast.fail('请求超时！'); break;
            case 409: Toast.fail('系统已存在相同数据！'); break;
            case 500: Toast.fail('服务器内部错误！'); break;
            case 501: Toast.fail('服务未实现！'); break;
            case 502: Toast.fail('网关错误！'); break;
            case 503: Toast.fail('服务不可用！'); break;
            case 504: Toast.fail('服务暂时无法访问，请稍后再试！'); break;
            case 505: Toast.fail('HTTP版本不受支持！'); break;
            default: Toast.fail('异常问题，请联系管理员！'); break
        }
        // 对响应错误做点什么
        return Promise.reject(error);

    }
)
export default service